package communication;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

@SuppressWarnings("all")
public class Server {
    //服务端端所在计算机ip地址
    private static String ip;

    //服务端启动入口函数
    public static void main(String[] args) throws IOException, InterruptedException {
        int num = 1;
        //创建套接字，设置服务端端口号
        ServerSocket serverSocket = new ServerSocket(8848);
        //循环放在此处是为了,当每次客户端与服务器通信完成时,服务器不停止运行,而是又再一次进入侦听状态,侦听是否还有服务器向自己发送信息;
        while (true) {
            //返回一个socket，监听连接的客户端
            Socket socket = serverSocket.accept();
            //打印服务端相关信息
            if(socket != null){
                //获取服务单ip地址
                ip = socket.getInetAddress().toString();
                ip = ip.substring(ip.indexOf("/") + 1);
                System.out.println("["+ ip + "]" + (num++) + "号客户端" + "连接成功");
                //监听到客户端，就开启新的线程连接
                Thread thread = new Thread(new ServerThread(socket));
                thread.start();
            }
        }
    }
}